package com.wicket.okrapp.integration;

import com.wicket.okrapp.common.ro.OkrResult;
import com.wicket.okrapp.integration.dto.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

/**
 * @author ：
 * @date ：
 *
 * 
 * @version 1.0
 */
@FeignClient("app")
public interface FwAppDivineDataClient {
    /**
     * 【验证接口】D生成语义实例
     */
    @PostMapping("/app/divineData/generateGenerateInstance")
    public OkrResult<GenerateGenerateInstanceRespDto> generateGenerateInstance(GenerateGenerateInstanceReqDto reqDTO);

    /**
     * 生成验证接口
     */
    @PostMapping("/app/divineData/generateVerifyInter")
    public OkrResult<GenerateVerifyInterRespDto> generateVerifyInter(GenerateVerifyInterReqDto reqDTO);

    /**
     * 生成缓存合并输出树状数据
     */
    @PostMapping("/app/divineData/generateSpecMethod")
    public OkrResult<GenerateSpecMethodRespDto> generateSpecMethod(GenerateSpecMethodReqDto reqDTO);
/**
   * D3执行定时任务接收参数
   */
    @PostMapping("/app/divineData/implementTimingTaskAcceptParameters")
    public OkrResult<ImplementTimingTaskAcceptParametersRespDto> implementTimingTaskAcceptParameters(ImplementTimingTaskAcceptParametersReqDto reqDTO);
/**
   * D3获取周期结束后第1天服务(公共)
   */
    @PostMapping("/app/divineData/obtainCycleEndFirstDayCom")
    public OkrResult<ObtainCycleEndFirstDayComRespDto> obtainCycleEndFirstDayCom(ObtainCycleEndFirstDayComReqDto reqDTO);
/**
   * D3获取接收字段服务(公共)
   */
    @PostMapping("/app/divineData/obtainReceiveFieldCom")
    public OkrResult<ObtainReceiveFieldComRespDto> obtainReceiveFieldCom(ObtainReceiveFieldComReqDto reqDTO);
/**
   * D3-获取数据集最大值加一(公共)
   */
    @PostMapping("/app/divineData/obtainMaxOfCollectionsCom")
    public OkrResult<ObtainMaxOfCollectionsComRespDto> obtainMaxOfCollectionsCom(ObtainMaxOfCollectionsComReqDto reqDTO);
/**
   * D数据集转字段(特殊方法)
   */
    @PostMapping("/app/divineData/transitionColumnToRow")
    public OkrResult<TransitionColumnToRowRespDto> transitionColumnToRow(TransitionColumnToRowReqDto reqDTO);
/**
   * D3执行接收内容表主键id(公共)
   */
    @PostMapping("/app/divineData/implementReceiveContentIdCom")
    public OkrResult<ImplementReceiveContentIdComRespDto> implementReceiveContentIdCom(ImplementReceiveContentIdComReqDto reqDTO);
    //
}
